
// 数据模型  
// 操作数据库的里面的表  


// Schema
// Schema主要用于定义MongoDB中集合Collection里文档document的结构,
// 理解为mongoose对表结构的定义   (不仅仅可以定义文档的结构和属性，还可以定义文档的实例方法、静态模型方法、复合索引等)
// 每个schema会映射到mongodb中的一个collection，schema不具备操作数据库的能力
// 定义Schema非常简单，指定字段名和类型即可，支持的类型包括以下8种


// String      字符串
// Number      数字    
// Date        日期
// Buffer      二进制
// Boolean     布尔值
// Mixed       混合类型
// ObjectId    对象ID    
// Array       数组

const mongoose = require('mongoose')
const Schema = mongoose.Schema

const user_schema = new Schema({
    name: String,   //姓名
    phone: String, //账号
    password: String,
    time: String, // 注册时间
    avatar: String,  // 用户头像  
    role: Number,  // 用户选项   1 普通用户  2 3 4 管理员 
    code: String
})

const homehot_schema = new Schema({  //首页热销
    name:String,
    img:String,
    color:String,
    size:String,
    discountPrice:Number,      //折扣价格
    sellCount:Number,     //月销总数
    originalPrice:Number, //原价
    updateTime:String,  //上架时间
    principal:String,   //上架商品负责人
    inventory:Number,   //商品库存
    categoryName:String,//分类
    gsColorCode:String  ,
    key:String  
})




// Model 数据模型 才能操作数据库
// Model 模型模具 
// Model是由Schema编译而成的假想（fancy）构造器，具有抽象属性和行为
// Model的每一个实例（instance）就是一个document  document可以保存到数据库和对数据库进行操作
// model是由schema生成的模型，可以对数据库的操作  
// mongoose.model(`表名`, Schema) 

// 如果表名称的最后一个字符是字母 会变成复数  user = users   city = cities  yyoh => yyohes 
// 如果表名称的最后一个字符是数字，则不变  user1  = user1   list1 = list1 

exports.user_model = mongoose.model('users', user_schema)
exports.homehot_model = mongoose.model("homehot", homehot_schema)

